#include <boost/graph/undirected_graph.hpp>
#include <boost/graph/exterior_property.hpp>
#include <boost/graph/properties.hpp>
#include <boost/graph/property_maps/constant_property_map.hpp>
#include <boost/graph/betweenness_centrality.hpp>

#ifndef _TYPEDEFINITION
#define _TYPEDEFINITION 0
struct Actor
{
	std::string name;
};

typedef boost::undirected_graph<Actor> Graph;

typedef boost::graph_traits< Graph >::vertex_descriptor Vertex;
typedef boost::graph_traits< Graph >::edge_descriptor Edge;
typedef boost::property_map< Graph , std::string Actor::*>::type NameMap;
typedef std::map<std::string, Vertex> VertexMap;
typedef std::map<Vertex, std::string> InvVertexMap;
typedef boost::graph_traits< Graph >::vertex_iterator vertex_iterator;


typedef boost::exterior_vertex_property<Graph, float> BetweennessProperty;
typedef BetweennessProperty::container_type BetweennessContainer;
typedef BetweennessProperty::map_type BetweennessMap;
#endif